https://leetcode-cn.com/problems/greatest-common-divisor-of-strings/
/**
* 思路:
*
*
* @author 小道仙
* @date 2020年3月12日
*/
public String gcdOfStrings(String str1, String str2) {
int minLength = str1.length() > str2.length() ? str2.length() : str1.length();
char[] char_1 = str1.toCharArray();
char[] char_2 = str2.toCharArray();
StringBuilder result = new StringBuilder();
for (int i = 0;i < minLength; i++){
if (char_1[i] == char_2[i]){
result.append(char_1[i]);
}else {
break;
}
}
int count = result.length() - 1;
while (count >= 0){
if (fun(str1,result.toString()) && fun(str2,result.toString())){
return result.toString();
}
result.deleteCharAt(count --);
}
return "";
}
public boolean fun(String str, String result){
if (str.length() % result.length() != 0){
return false;
}
int count = str.length() / result.length();
StringBuilder sb = new StringBuilder();
for (int i = 0;i < count; i++){
sb.append(result);
}
return str.equals(sb.toString());
}